package com.umpay.dto.merBusi.req.withdrawal;


import javax.validation.constraints.NotNull;

import com.umpay.annotation.Pattern;
import com.umpay.dto.merBusi.req.CommonBusiReq;

/* ******************  类说明  *********************
 * class       :  MemberWithdrawalBusiReq
 * @author     :  ncc
 * @date       :  2018年1月26日 下午3:25:29
 * @version    :  1.0  
 * description :  提现下单请求类
 * @see        :                        
 * ************************************************/   
public class MemberWithdrawalBusiReq extends CommonBusiReq {
	@NotNull(message = "商户号不能为空")
	@Pattern(message = "商户号格式不正确")
	private String merId;//	商户号	  变长8	Y	商户在支付平台分配的商户号\\d{4,8}
	@NotNull(message = "业务产品号不能为空")
	@Pattern(message = "业务产品号格式不正确")
	private String bProductId;//业务产品号	变长8	 Y	商户业务产品号(B)\\w{7}
	@NotNull(message = "支付产品号不能为空")
	@Pattern(message = "支付产品号格式不正确")
	private String pProductId;//原子产品号	变长8	 Y	商户原子产品号(P)\\w{7}
	@NotNull(message = "商户订单号不能为空")
	@Pattern(message = "商户订单号格式不正确")
	private String orderId;//	商户订单号	变长20	Y	商户订单号支持数字、英文字母，其他字符不建议使用 长度4至20位
	@NotNull(message = "商户订单日期不能为空")
	@Pattern(message = "商户订单日期格式不正确")
	private String orderDate;//	商户订单日期	定长8	Y	商户生成订单的日期，格式YYYYMMDD
	@NotNull(message = "会员号不能为空")
	@Pattern(message = "会员号格式不正确")
	private String userId;//	联动会员用户号	变长20	Y
	@NotNull(message = "会员类型不能为空")
	@Pattern(message = "会员类型格式不正确")
	private String userType;//	会员类型	定长1	Y	1-个人；2-个体；3-企业
	@NotNull(message = "账户类型不能为空")
	@Pattern(message = "账户类型格式不正确")
	private String accType;// 账户类型	定长3	Y	208:对公现金账户 	209:对私现金账户
	@NotNull(message = "会员支付协议号不能为空")
	@Pattern(message = "会员支付协议号格式不正确")
	private String pAgreementId;//	会员支付协议号	变长20	Y
	@NotNull(message = "提现金额不能为空")
	@Pattern(message = "提现金额格式不正确")
	private String amount;//	提现金额	变长13	Y
	@Pattern(message = "服务器异步通知页面路径格式不正确")
	private String notifyUrl;//	服务器异步通知路径	变长128	N	交易完成后，系统会按照此地址将交易结果以后台的方式发送到商户网站
	@Pattern(message = "备注信息格式不正确")
	protected String remark;//备注信息	变长64
	public String getRpid() {
		return rpid;
	}
	public void setRpid(String rpid) {
		this.rpid = rpid;
	}
	public String getMerId() {
		return merId;
	}
	public void setMerId(String merId) {
		this.merId = merId;
	}
	public String getbProductId() {
		return bProductId;
	}
	public void setbProductId(String bProductId) {
		this.bProductId = bProductId;
	}
	public String getpProductId() {
		return pProductId;
	}
	public void setpProductId(String pProductId) {
		this.pProductId = pProductId;
	}
	public String getOrderId() {
		return orderId;
	}
	public void setOrderId(String orderId) {
		this.orderId = orderId;
	}
	public String getOrderDate() {
		return orderDate;
	}
	public void setOrderDate(String orderDate) {
		this.orderDate = orderDate;
	}
	public String getUserId() {
		return userId;
	}
	public void setUserId(String userId) {
		this.userId = userId;
	}
	public String getUserType() {
		return userType;
	}
	public void setUserType(String userType) {
		this.userType = userType;
	}
	public String getAccType() {
		return accType;
	}
	public void setAccType(String accType) {
		this.accType = accType;
	}
	public String getpAgreementId() {
		return pAgreementId;
	}
	public void setpAgreementId(String pAgreementId) {
		this.pAgreementId = pAgreementId;
	}
	public String getAmount() {
		return amount;
	}
	public void setAmount(String amount) {
		this.amount = amount;
	}
	public String getNotifyUrl() {
		return notifyUrl;
	}
	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl;
	}
	public String getRemark() {
		return remark;
	}
	public void setRemark(String remark) {
		this.remark = remark;
	}
	/* ********************************************
	 * method name   : toString 
	 * modified      : ncc ,  2018年1月26日 下午3:35:04
	 * @see          : @see java.lang.Object#toString()
	 * ********************************************/     
	@Override
	public String toString() {
		return "MemberWithdrawalBusiReq [rpid=" + rpid + ", merId=" + merId + ", bProductId=" + bProductId
		        + ", pProductId=" + pProductId + ", orderId=" + orderId + ", orderDate=" + orderDate + ", userId="
		        + userId + ", userType=" + userType + ", accType=" + accType + ", pAgreementId=" + pAgreementId
		        + ", amount=" + amount + ", remark=" + remark + ", notifyUrl=" + notifyUrl + "]";
	}
}
